CREATE PROCEDURE SP_CONEXION_RST 
( 
@ACC VARCHAR(1), 
@CARNET VARCHAR(16), 
@LOGIN VARCHAR(16), 
@DIR_IP VARCHAR(32), 
@BROWSER_VER VARCHAR(10)     
) 
AS 

BEGIN 
	DECLARE 
        @OPCION CHAR(1), 
		@IP VARCHAR(32), 
		@RESP VARCHAR(100), 
		@FECHA_ACTUAL DATETIME, 
		@FECHA_CONEXION DATETIME,
		@EXISTE_IP NUMERIC(1,0)
 
		SELECT @OPCION = '2' 
		SELECT @IP = '0' 
		 
	IF @ACC = '0'
	BEGIN
		SELECT @OPCION = USU_LOGUEADO FROM CONEXION_RST WHERE CARNET = @CARNET AND FECHA_DESCONEXION = NULL
 
		IF @OPCION = '1'
		BEGIN 
			SELECT @EXISTE_IP = COUNT(*) FROM CONEXION_RST WHERE CARNET = @CARNET AND IP = @DIR_IP AND FECHA_DESCONEXION = NULL
			
			IF @EXISTE_IP > 0
			BEGIN				
				UPDATE CONEXION_RST SET FECHA_CONEXION = GETDATE() WHERE CARNET = @CARNET AND USU_LOGUEADO = '1'
				SELECT @RESP = 'CONEXION SATISFACTORIA'
			END
			IF @EXISTE_IP = 0
			BEGIN
				SELECT @RESP = 'LA DIRECCION IP DE ESTE EQUIPO NO ESTA REGISTRADA PARA ESTE USUARIO'	
			END
		END
		ELSE IF @OPCION = '2'
		BEGIN
			SELECT @IP = IP FROM EMPLEADO_IP WHERE CARNET = @CARNET AND ACTIVO = 1
 
			IF (@IP = @DIR_IP)
			BEGIN 
				INSERT INTO CONEXION_RST( CARNET, FECHA_CONEXION, FECHA_DESCONEXION, BROWSER, USU_LOGUEADO, IP ) VALUES ( @CARNET, GETDATE(), NULL, @BROWSER_VER, '1', @IP ) 
				SELECT @RESP='CONEXION SATISFACTORIA' 
			END
			ELSE IF (@IP != @DIR_IP OR @IP = '0') 
			BEGIN 
				SELECT @RESP = 'LA DIRECCION IP DE ESTE EQUIPO NO ESTA REGISTRADA PARA ESTE USUARIO' 
			END 
		END 
	END 
 
	ELSE IF @ACC = '1' 
	BEGIN 
		UPDATE CONEXION_RST SET FECHA_DESCONEXION = GETDATE(), USU_LOGUEADO = '0' WHERE CARNET = @CARNET AND USU_LOGUEADO = '1' 
		SELECT @RESP = 'SI' 
	END 
		
    SELECT @RESP AS MENSAJE
END